import axios, {AxiosInstance} from "axios";

const isDev = process.env.NODE_ENV === 'development';

//自定义一个Axios,在里面 baseURL 定义后端的地址
const myAxois: AxiosInstance =  axios.create({
    baseURL: isDev ? 'http://localhost:8088/api/' : 'http://www.academicnav.cn/api',
});

myAxois.defaults.withCredentials = true;


// 为了查看前端的响应效果，这里添加请求拦截器
myAxois.interceptors.request.use(function (config) {
    console.log("我要发请求了",config)
    // 在发送请求之前做些什么
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
myAxois.interceptors.response.use(function (response) {
    console.log("我收到你的请求了",response.data.code)

    //进行请求拦截，用户未登录，跳转到登录页【根据响应码进行判断是否未登录】
    if(response?.data?.code === 40100){
        window.location.href = '/user/login'
    }

    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response;


}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default myAxois;